# -*- coding: utf-8 -*-
# created by Alberthch - 陈航  2021/7/15 19:42
# Description:怎样在一个序列上面维持元素顺序的时候同时消除重复的值

# 对队列
def dedupe_list(list_):
    seen = set()
    # 对元素进行遍历加入set里面
    for item in list_:
        # 当item是新元素的时候，才进行加入
        if item not in seen:
            yield item
            seen.add(item)


if __name__ == '__main__':
    a = [1, 5, 2, 1, 9, 1, 5, 10]
    print(a)
    # 也能去除重复元素，但是会更改元素在原来序列中的位置
    print(set(a))
    print(list(dedupe_list(a)))